package cn.tradewin.advisor.persist.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.tradewin.advisor.persist.model.CodeLabel;
import cn.tradewin.advisor.persist.model.Task;
import cn.tradewin.advisor.persist.model.TaskExample;

public interface TaskMapper {
    
	List<Task> selectAll();
	
	List<Task> selectTasksInProject(Integer projectId);
	
	List<Task> selectTasksNotInProject(Integer projectId);
	
	List<CodeLabel> getAllTasksOptions();
	
	/**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task
     *
     * @mbggenerated Thu Oct 30 14:29:37 CST 2014
     */
    int countByExample(TaskExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task
     *
     * @mbggenerated Thu Oct 30 14:29:37 CST 2014
     */
    int deleteByExample(TaskExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task
     *
     * @mbggenerated Thu Oct 30 14:29:37 CST 2014
     */
    int deleteByPrimaryKey(Byte id);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task
     *
     * @mbggenerated Thu Oct 30 14:29:37 CST 2014
     */
    int insert(Task record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task
     *
     * @mbggenerated Thu Oct 30 14:29:37 CST 2014
     */
    int insertSelective(Task record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task
     *
     * @mbggenerated Thu Oct 30 14:29:37 CST 2014
     */
    List<Task> selectByExample(TaskExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task
     *
     * @mbggenerated Thu Oct 30 14:29:37 CST 2014
     */
    Task selectByPrimaryKey(Byte id);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task
     *
     * @mbggenerated Thu Oct 30 14:29:37 CST 2014
     */
    int updateByExampleSelective(@Param("record") Task record, @Param("example") TaskExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task
     *
     * @mbggenerated Thu Oct 30 14:29:37 CST 2014
     */
    int updateByExample(@Param("record") Task record, @Param("example") TaskExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task
     *
     * @mbggenerated Thu Oct 30 14:29:37 CST 2014
     */
    int updateByPrimaryKeySelective(Task record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task
     *
     * @mbggenerated Thu Oct 30 14:29:37 CST 2014
     */
    int updateByPrimaryKey(Task record);
}